#pragma once
#include <vector>
#include "smart_car.h"
#include "student.h"

using namespace std;

class InfoEnterManager {
public:
    vector<SmartCar> carsInfo;
    vector<Student> studentsInfo;
    /**
     * @brief 录入小车信息和学生信息，并存储到vector里面
     */
    void enterInfo();
    /**
     * @brief 智能小车分配算法
     * 
     */
    void assignStudent();
    /**
     * @brief Get the Sorted Cars Info object
     * 
     * @return vector<SmartCar>& 
     */
    vector<SmartCar>& getSortedCarsInfo();

private:
    vector<SmartCar> m_sortedCarsInfo;
    vector<Student> m_sortedStusInfo;
    void sortCars();
    void sortStudents();
    long long getCarIdNumber(SmartCar car);
    int getStuIdNumber(Student stu);
};